/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package transervfx.Logica;

import java.util.List;

import transervfx.Dato.DAO.LugarFrecuenteDAO;
import transervfx.Dato.Entidad.Cliente;
import transervfx.Dato.Entidad.Lugar;

import transervfx.Dato.Entidad.LugarPersonalFrecuente;
import transervfx.Dato.Entidad.LugarTramiteFrecuente;




/**
 * Gestiona el usuario del sistema.
 */
public class GestorLugar {
 private static GestorLugar INSTANCE = null;

  /**
     *  Crea el GestorUsuario
     */
    private GestorLugar() {
    }

    /**
     * creador sincronizado para protegerse de posibles problemas  multi-hilo
     * otra prueba para evitar instanciación múltiple
     */
    private synchronized static void createInstance() {
        if (INSTANCE == null) {
            INSTANCE = new GestorLugar();
        }
    }

    public static GestorLugar getInstance() {
        if (INSTANCE == null) {
            createInstance();
        }
        return INSTANCE;
    }

    public List<LugarTramiteFrecuente> buscarLugarTramitePorFiltro(String calle, Integer numero, String departamento, Integer piso, String localidad, String provA, String paisA, int page, int itemPorPagina) {
       return LugarFrecuenteDAO.getInstance().buscarPorFiltroRangoLugarTramiteFrecuente(calle,   numero,  departamento,   piso,  localidad,  provA,  paisA, page, itemPorPagina);
    }

    public Long cantidadDeLugaresTramitesFiltrados(String calle, Integer  numero, String departamento, Integer  piso, String localidad, String provA, String paisA) {
        return LugarFrecuenteDAO.getInstance().cantidadDeLugaresTramitesFiltrados( calle,   numero,  departamento,   piso,  localidad,  provA,  paisA);
    }

    public void guardarLugar(Lugar lugarView) {
        LugarFrecuenteDAO.getInstance().persist(lugarView);
    }

    public List<LugarPersonalFrecuente> findAllLugarPersonalFrecuente(Cliente cliente) {
        return LugarFrecuenteDAO.getInstance().findAllLugarPersonalFrecuente(cliente);
    }

    /**
     * Obtiene el usuario con el nick y pass especificado en los parámetros.
     * @param nick nombre del usuario.
     * @param pass contraseña del usuario.
     * @return usuario
     */
   

}
